Debugging by Diagnosing Assumptions

نویسندگان

  • Luís Moniz Pereira
  • Carlos Viegas Damásio
  • José Júlio Alferes
چکیده

We present a novel and uniform technique for normal logic program declarative error diagnosis. We lay down the foundations on a general approach to diagnosis using logic programming, and bring out the close relationship between debugging and fault{{nding. Diagnostic debugging can be enacted by contradiction removal methods. It relies on a simple program transformation to provide a contradiction removal approach to debugging, based on revising the assumptions about predicates' correctness and completeness. The contradiction removal method is justiied in turn in terms of well{ founded semantics. The loop detection properties of well{founded semantics will allow in the future for a declarative treatment of otherwise endless derivations. The debugging of programs under well{founded semantics with explict negation is also foreseen. Here, we apply our techniques to nite SLDNF derivations, whose meaning coincides with the well{founded model, for which our contradiction removal method and algorithm is sound and complete. Several examples illustrate the algorithm at work.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Probabilistic Declarative Debugging

We present a probabilistic approach to the search strategy for declarative debugging. We focus on diagnosing wrong answers in pure Prolog programs but the approach can be adapted to other languages (for example, functional languages) and bug symptoms. Drawing information from source code and the execution of passed and failed test cases, different search heuristics are combined using probabilit...

متن کامل

Declarative Debugging of Missing Answers in Constraint Functional-Logic Programming

It is well known that constraint logic and functional-logic programming languages have many advantages, and there is a growing trend to develop and incorporate effective tools to this class of declarative languages. In particular, debugging tools are a practical need for diagnosing the causes of erroneous computations. Recently [1], we have presented a prototype tool for the declarative diagnos...

متن کامل

A Theory of Debugging Plans and Interpretations

We present a theory of debugging applicable for planning and interpretation problems. The debugger analyzes causal explanations for why a bug arises to locate the underlying assumptions upon which the bug depends. A bug is repaired by replacing assumptions, using a small set of domain-independent debugging strategies that reason about the causal explanations and domain models that encode the ef...

متن کامل

1 an Integrated Approach to Instruction in Debugging Computer Programs

Abstract: This study demonstrates that formal training in debugging helps students develop skills in diagnosing and removing defects from computer programs. To enhance debugging skills in an assembly language course, students completed debugging exercises, debugging logs, development logs, reflective memos, and collaborative assignments. The debugging exercises were optional, but the other acti...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1993